package sg.edu.nus.iss.billing.entity.service;

import java.math.BigDecimal;

import sg.edu.nus.iss.billing.entity.BaseEntity;
import sg.edu.nus.iss.billing.entity.RecordState;

public abstract class Service extends BaseEntity implements  Comparable<Service>{
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 2435281887901047650L;

	protected String serviceProductID;
	protected String serviceName;
	protected BigDecimal fixedMonthlyCharge;
	protected RecordState active;
	
	/**
	 * @return the active
	 */
	public RecordState getActive() {
		return active;
	}
	
	/**
	 * @param active the active to set
	 */
	public void setActive(RecordState active) {
		this.active = active;
	}
	public String getServiceProductID() {
		return serviceProductID;
	}
	public void setServiceProductID(String serviceProductID) {
		this.serviceProductID = serviceProductID;
	}
	public String getServiceName() {
		return serviceName;
	}
	public void setServiceName(String serviceName) {
		this.serviceName = serviceName;
	}
	public BigDecimal getFixedMonthlyCharge() {
		return fixedMonthlyCharge;
	}
	public void setFixedMonthlyCharge(BigDecimal fixedMonthlyCharge) {
		this.fixedMonthlyCharge = fixedMonthlyCharge;
	}
	
	public int compareTo(Service obj) {
		return this.getServiceName().compareTo(obj.getServiceName());
	}

	@Override
	public String toString() {

		return "Service [serviceProductID="+serviceProductID+", serviceName="+serviceName+", fixedMonthlyCharge="+fixedMonthlyCharge+", active="+active+"]";
	}
	
	

}
